#ifndef COLLISION_H
#define COLLISION_H

#include "aabb.h"
#include "../tool/delegate.h"
#include "enveloppe.h"

class Displayable;

/*!
 *  \class Collision
 *  \brief  Objet utilisé pour gérer les collisions fonctionnement :
 *          On dispose d'un duo de bounding box, on vérifie si les deux rentrent en collision, si c'est le cas
 *          on exécute la méthode de l'objet passé en paramètre
 */

class Collision
{
    public:

    Enveloppe * a;   /*!< Première bounding box  */
    Enveloppe * b;   /*!< Deuxieme Bounding Bo   */

    int state;              /*!< variable d'état utilisé pour supprimer la collision */
    AbstractSlot * sSlot;    /*!< Méthode à exécuter en cas de détection de collision entre 2 éléments */

    Collision(Enveloppe *aA, Enveloppe* bB, AbstractSlot * del);
    int CheckCollision();

};

#endif // COLLISION_H
